package com.dhcc.bpm.alarm.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dhcc.bpm.alarm.entity.statistic.AlarmStatistic;
import com.dhcc.bpm.alarm.vo.AlarmStatisticVO;
import com.dhcc.bpm.alarm.vo.statistics.AlarmJoinClassVO;
import com.dhcc.bpm.alarm.vo.statistics.AlarmStrategyTimeVO;
import com.dhcc.bpm.alarm.vo.statistics.StatisticsStrategyVO;

import java.util.List;

/**
 * @Description 告警统计服务类
 * @author caoyanlong
 * @date 20220223
 */
public interface IAlarmStatisticService {

	List<AlarmStatisticVO> alarmNumber(AlarmStatistic alarmRecord);

	List<AlarmStatisticVO> classNum(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmUrgentNum(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmNoticeMethod(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmSystem(AlarmStatistic alarmStatistic);

	List<AlarmStatisticVO> alarmObj(AlarmStatistic request);

	List<AlarmStatisticVO> alarmNumGroup(AlarmStatistic request);

	List<AlarmStatisticVO> alarmStsNum(AlarmStatistic request);

	List<AlarmStatisticVO> alarmStrategy(AlarmStatistic request);

	List<StatisticsStrategyVO> alarmStrategyByCode(AlarmStatistic alarmStatistic);

	List<AlarmStrategyTimeVO> alarmStrategyTime(AlarmStatistic alarmStatistic);

	IPage<AlarmJoinClassVO> alarmJoinMethod(IPage<AlarmJoinClassVO> page, AlarmStatistic alarmStatistic);

	IPage<AlarmJoinClassVO> alarmJoinStrategy(IPage<AlarmJoinClassVO> page, AlarmStatistic alarmStatistic);

	int getAlarmCount(AlarmStatistic alarmStatistic);
	

}
